(function (root, factory) {
	// UMD (Universal Module Definition) https://github.com/umdjs/umd
	
	if (typeof define === 'function' && define.amd) {
		// AMD. Register as an anonymous module unless amdModuleId is set
    	define({{#if amdModuleId}}'{{amdModuleId}}', {{/if}}[{{{amdDependencies.wrapped}}}], factory);
  } else if (typeof exports === 'object') {
	  // Node. Does not work with strict CommonJS, but
	  // only CommonJS-like environments that support module.exports,
	  // like Node.
	  module.exports = factory({{{cjsDependencies.wrapped}}});
  } else {
	  // Browser globals (root is window)
	  {{#if globalAlias}}root.{{{globalAlias}}} = {{else}}{{#if objectToExport}}root.{{{objectToExport}}} = {{/if}}{{/if}}factory({{{globalDependencies.normal}}});
  }
  
}(this, function ({{dependencies}}) {

{{{code}}}
{{#if objectToExport}}

return {{{objectToExport}}};
{{/if}}

}));